package ynu.edu.domain.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

/**
 * Img2Img 响应VO
 */
@Data
@ApiModel(description = "Img2Img 响应结果")
public class Img2ImgResponse {

    @ApiModelProperty(value = "任务ID")
    private String taskId;

    @ApiModelProperty(value = "生成状态：success, failed, processing")
    private String status;

    @ApiModelProperty(value = "错误信息")
    private String errorMessage;

    @ApiModelProperty(value = "生成耗时（毫秒）")
    private Long generationTime;

    @ApiModelProperty(value = "生成图片URL列表")
    private List<String> imageUrls;

    @ApiModelProperty(value = "原始图片URL")
    private String initImageUrl;

    @ApiModelProperty(value = "模型名称")
    private String modelName;

    @ApiModelProperty(value = "模型哈希")
    private String modelHash;

    @ApiModelProperty(value = "正面提示词")
    private String prompt;

    @ApiModelProperty(value = "负面提示词")
    private String negativePrompt;

    @ApiModelProperty(value = "种子值")
    private Long seed;

    @ApiModelProperty(value = "采样器名称")
    private String samplerName;

    @ApiModelProperty(value = "调度器名称")
    private String scheduler;

    @ApiModelProperty(value = "步数")
    private Integer steps;

    @ApiModelProperty(value = "CFG比例")
    private BigDecimal cfgScale;

    @ApiModelProperty(value = "图片宽度")
    private Integer width;

    @ApiModelProperty(value = "图片高度")
    private Integer height;

    @ApiModelProperty(value = "批次大小")
    private Integer batchSize;

    @ApiModelProperty(value = "去噪强度")
    private BigDecimal denoisingStrength;

    @ApiModelProperty(value = "面部修复")
    private Boolean restoreFaces;

    @ApiModelProperty(value = "平铺模式")
    private Boolean tiling;

} 